home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / tutorials / geometer / Theorems / art / shadow.T < prev   
Encoding:
Text File  |  1994-08-02  |  1.9 KB  |  53 lines

  1. .geometry "version 0.1";
  2. v1 = .free(-0.690027, 0.392183, "Vp1");
  3. v2 = .free(0.576819, 0.381402, "Vp2");
  4. v3 = .free(-0.026954, -0.907008, "Vp3");
  5. v4 = .free(-0.039672, 0.077975, "Corner");
  6. l1 = .l.vv(v1, v4, .invisible, .longline);
  7. l3 = .l.vv(v2, v4, .invisible, .longline);
  8. l5 = .l.vv(v4, v3, .invisible, .longline);
  9. v5 = .vonl(l1, -0.266851, 0.187733, .plus);
  10. l6 = .l.vv(v3, v5, .invisible, .longline);
  11. v6 = .vonl(l5, -0.038012, -0.050611, .plus);
  12. l7 = .l.vv(v1, v6, .invisible, .longline);
  13. v8 = .v.ll(l6, l7, .invisible);
  14. l8 = .l.vv(v8, v6, .red);
  15. l9 = .l.vv(v6, v4, .red);
  16. l10 = .l.vv(v4, v5, .red);
  17. l11 = .l.vv(v5, v8, .red);
  18. v9 = .vonl(l3, 0.189352, 0.190697, .plus);
  19. l13 = .l.vv(v9, v1, .invisible, .longline);
  20. l14 = .l.vv(v5, v2, .invisible, .longline);
  21. l15 = .l.vv(v3, v9, .invisible, .longline);
  22. l16 = .l.vv(v6, v2, .invisible, .longline);
  23. v10 = .v.ll(l14, l13, .invisible);
  24. v11 = .v.ll(l15, l16, .invisible);
  25. l17 = .l.vv(v6, v11, .red);
  26. l18 = .l.vv(v11, v9, .red);
  27. l19 = .l.vv(v9, v4, .red);
  28. l20 = .l.vv(v5, v10, .red);
  29. l21 = .l.vv(v10, v9, .red);
  30. l4 = .l.vv(v1, v2, .invisible);
  31. v12 = .free(-0.245283, 0.861186, .yellow, "Light");
  32. l22 = .l.vv(v12, v3, .invisible);
  33. v13 = .v.ll(l4, l22, .invisible);
  34. l23 = .l.vv(v12, v9, .invisible, .ray12);
  35. l25 = .l.vv(v13, v11, .invisible, .ray12);
  36. l26 = .l.vv(v13, v6, .invisible, .ray12);
  37. l28 = .l.vv(v13, v8, .invisible, .ray12);
  38. l29 = .l.vv(v12, v5, .invisible, .ray12);
  39. l30 = .l.vv(v12, v4, .invisible, .ray12);
  40. v14 = .v.ll(l28, l29, .invisible);
  41. v15 = .v.ll(l30, l26, .invisible);
  42. v16 = .v.ll(l23, l25, .invisible);
  43. l32 = .l.vv(v14, v15, .blue);
  44. l33 = .l.vv(v15, v16, .blue);
  45. l34 = .l.vv(v8, v14, .blue);
  46. l35 = .l.vv(v11, v16, .blue);
  47. .text("Perspective Shadow:");
  48. .text("");
  49. .text("This example shows the construction of a shadow of a cube in");
  50. .text("3 point perspective, with a movable light source.  You can");
  51. .text("move the vanishing points, the corners of the cube, and the");
  52. .text("position of the light source.");
  53.